-
Notifications
You must be signed in to change notification settings - Fork 308
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add cargo-semver-check as part of the CI #784
Add cargo-semver-check as part of the CI #784
Conversation
@jswrenn FYI I add the |
@jswrenn Do you have any feedback for this PR ? Thanks |
Being unfamiliar with actions, I found this useful to roughly understand your PR; |
About the error, About the PR, merge it would lead to increase the version as soon as there is a breaking change rather than later when preparing to release. It seems reasonable to me. |
I'm reading this: It appears that determining whether a change is major hinges on its impact on downstream dependencies, particularly Rust programs utilizing the |
Thanks.
As you are surely unfamiliar with I see why it thinks EDIT from the future: Read https://predr.ag/blog/moving-and-reexporting-rust-type-can-be-major-breaking-change/ which highlights the situation a bit. It changes nothing here IMO but I keep it for future reference. |
The PR looks good to me. However, I'm confused why we're not seeing more breaking changes. We have a bunch on master, pending release: https://github.com/rust-itertools/itertools/pulls?q=is%3Apr+label%3Abreaking-change+is%3Aclosed+milestone%3Anext |
@jswrenn 0.11.0 was released June 22. So the listed breaking changes are on 0.11.0. |
Isn't #709 a breaking change? |
Maybe not yet covered? obi1kenobi/cargo-semver-checks#5 states that "pub fn changed arguments in a backward-incompatible way" is hard. Just to make that explicit: https://github.com/obi1kenobi/cargo-semver-checks#will-cargo-semver-checks-catch-every-semver-violation states that not every semver violation will be catched. |
3f4462a
to
14b918a
Compare
I merely rebased on master. |
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #784 +/- ##
==========================================
- Coverage 93.33% 93.24% -0.09%
==========================================
Files 48 48
Lines 6778 6778
==========================================
- Hits 6326 6320 -6
- Misses 452 458 +6 ☔ View full report in Codecov by Sentry. |
Agree - Given it may produce false positive I think we should make this job non-blocking. I've removed this job from |
@danieleades EDIT: No it's not the coverage that is blocking but it needs an approving review (such as mine..). The failing check seems wrong though. |
that depends on the repo's config. shouldn't block a merge in this repo it's possible to configure codecov to ignore small variations in coverage |
see #856 |
629e854
to
bf579b8
Compare
Rebased after #856 which eliminate spurious coverage failure. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it would run without making CI fail because of a false positive. We might have to look/understand eventual failures to decide ourselves. I believe it's a decent compromise.
@phimuemue @jswrenn What do you think about adding semver-check that way?
I think that's a perfect compromise. |
@Owen-CH-Leung Thanks for this. |
fixes #757
This PR introduces a new CI job
cargo-semver-check
to lint the API against the latest release version and see if there're any breaking changes